/**
 * 
 */
package com.mbengue.corp.apr.ra.dao;

import java.util.List;

import org.hibernate.HibernateException;

import com.mbengue.corp.apr.ra.core.Article;
import com.mbengue.corp.apr.ra.core.Image;

/**
 * Gere l'ajout, la modification, la suppression et la recherche d'image
 * @author MMB11447
 *
 */
public interface ImageDao {

	/**
	 * Ajoute l'image dans la base de donnees
	 * 
	 * @param image {@link Image} a ajouter
	 * @throws HibernateException
	 */
	public void ajouterImage(Image image) throws HibernateException;
	
	/**
	 * Met a jour l'image dans la base de donnees
	 * 
	 * @param image {@link Image} a mettre a jour
	 * @throws HibernateException
	 */
	public void modifierImage(Image image) throws HibernateException;
	
	/**
	 * Retrouve l'image dont le nom est donne en entree
	 * 
	 * @param nom {@link String} de l'image a retrouver
	 * @return {@link Image}
	 * @throws HibernateException
	 */
	public Image trouverImage(String nom) throws HibernateException;
	
	/**
	 * Retrouve toutes les images de l'article donne en entree
	 * 
	 * @param article {@link Article}
	 * @return {@link List} d'image
	 * @throws HibernateException
	 */
	public List<Image> lesImagesD1Article(Article article) throws HibernateException;
	
	/**
	 * Supprime de la base de donnees l'image dont le nom est donne en entree
	 * 
	 * @param nom {@link String} de l'image a supprimer
	 * @throws HibernateException
	 */
	public void supprimerImage(String nom) throws HibernateException;
}
